import logging
import allure,time
import pytest
from data.constant import *
from base.base_analyze import analyze_data

@allure.feature('网校运营中心/产品管理')  # 所属模块
class TestCase03rganizationMgt(object):
    """
    BLOCKER = 'blocker'  阻塞的
    CRITICAL = 'critical'  危险的
    NORMAL = 'normal'  正常的
    MINOR = 'minor'  次要的
    TRIVIAL = 'trivial' 不重要的
    """
    @allure.severity(severity_level="normal")  # 严重级别
    @allure.story("TestCase02TypeAdded01_【基线用例】后台/系统管理/角色类型管理：新增角色")# 用例标题
    @allure.testcase("暂无禅道用例", "【基线用例】后台/系统管理/角色类型管理：新增角色")# 禅道链接
    # @pytest.mark.parametrize("login_hjx",[],indirect = True)
    def testCase02TypeAdded01(self, login_hjx):
        logging.info('开始执行测试用例====》')
        login_hjx.Ppagetypesrole.click_system_management()  # 点击系统管理
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_roletype_management()  # 点击角色类型管理
        time.sleep(2)
        login_hjx.pageProductList.click_switch_to()  # 切换iframe
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_type_added(name1=NAME1)  # 新增角色类型流程
        time.sleep(0.5)
        assert "保存成功" in login_hjx.Ppagetypesrole.get_save_successfully(), "用例成功"

    @allure.severity(severity_level="normal")  # 严重级别
    @allure.story("TestCase02TypeEdit02_【基线用例】后台/系统管理/角色类型管理：编辑角色类型")# 用例标题
    @allure.testcase("暂无禅道用例", "【基线用例】后台/系统管理/角色类型管理：编辑角色类型")# 禅道链接
    # @pytest.mark.parametrize("login_hjx",[],indirect = True)
    def testCase02TypeEdit02(self, login_hjx):
        logging.info('开始执行测试用例====》')
        login_hjx.Ppagetypesrole.click_system_management()  # 点击系统管理
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_roletype_management()  # 点击角色类型管理
        time.sleep(2)
        login_hjx.pageProductList.click_switch_to()  # 切换iframe
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_type_operate(operation_type="编辑")    # 编辑角色类型流程
        login_hjx.Ppagetypesrole.click_type_edit()  # 点击确定
        time.sleep(0.5)
        assert "保存成功" in login_hjx.Ppagetypesrole.get_save_successfully(), "用例成功"

    @allure.severity(severity_level="normal")  # 严重级别
    @allure.story("TestCase02TypeForbidden03_【基线用例】后台/系统管理/角色类型管理：禁用角色类型")# 用例标题
    @allure.testcase("暂无禅道用例", "【基线用例】后台/系统管理/角色类型管理：禁用角色类型")# 禅道链接
    # @pytest.mark.parametrize("login_hjx",[],indirect = True)
    def testCase02TypeForbidden03(self, login_hjx):
        logging.info('开始执行测试用例====》')
        login_hjx.Ppagetypesrole.click_system_management()  # 点击系统管理
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_roletype_management()  # 点击角色类型管理
        time.sleep(2)
        login_hjx.pageProductList.click_switch_to()  # 切换iframe
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_type_operate(operation_type="禁用")  # 禁用角色类型
        time.sleep(0.5)
        assert "保存成功" in login_hjx.Ppagetypesrole.get_save_successfully(), "用例成功"


    @allure.severity(severity_level="normal")  # 严重级别
    @allure.story("TestCase02TypeStart04_【基线用例】后台/系统管理/角色类型管理：启用角色类型")# 用例标题
    @allure.testcase("暂无禅道用例", "【基线用例】后台/系统管理/角色类型管理：启用角色类型")# 禅道链接
    # @pytest.mark.parametrize("login_hjx",[],indirect = True)
    def testCase02TypeStart04(self, login_hjx):
        logging.info('开始执行测试用例====》')
        login_hjx.Ppagetypesrole.click_system_management()  # 点击系统管理
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_roletype_management()  # 点击角色类型管理
        time.sleep(2)
        login_hjx.pageProductList.click_switch_to()  # 切换iframe
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_type_operate(operation_type="启用")  # 启用角色类型
        time.sleep(0.5)
        assert "保存成功" in login_hjx.Ppagetypesrole.get_save_successfully(), "用例成功"

    @allure.severity(severity_level="normal")  # 严重级别
    @allure.story("TestCase02TypeDelete05_【基线用例】后台/系统管理/角色类型管理：删除角色类型")# 用例标题
    @allure.testcase("暂无禅道用例", "【基线用例】后台/系统管理/角色类型管理：删除角色类型")# 禅道链接
    # @pytest.mark.parametrize("login_hjx",[],indirect = True)
    def testCase02TypeDelete05(self, login_hjx):
        logging.info('开始执行测试用例====》')
        login_hjx.Ppagetypesrole.click_system_management()  # 点击系统管理
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_roletype_management()  # 点击角色类型管理
        time.sleep(2)
        login_hjx.pageProductList.click_switch_to()  # 切换iframe
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_type_operate(operation_type="删除")    # 删除角色类型流程
        login_hjx.Ppagetypesrole.click_type_delete()  # 点击确定
        time.sleep(0.5)
        assert "保存成功" in login_hjx.Ppagetypesrole.get_save_successfully(), "用例成功"

    @allure.severity(severity_level="normal")  # 严重级别
    @allure.story("TestCase02TypeDelete05_【基线用例】后台/系统管理/角色类型管理：新增角色名称")# 用例标题
    @allure.testcase("暂无禅道用例", "【基线用例】后台/系统管理/角色类型管理：新增角色名称")# 禅道链接
    # @pytest.mark.parametrize("login_hjx",[],indirect = True)
    def testCase02RoleAdded05(self, login_hjx):
        logging.info('开始执行测试用例====》')
        login_hjx.Ppagetypesrole.click_system_management()  # 点击系统管理
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_role_management()  # 点击角色类型管理
        time.sleep(2)
        login_hjx.pageProductList.click_switch_to()  # 切换iframe
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_role_added(char_name="自动化新增角色")  # 新增角色名称流程
        login_hjx.Ppagetypesrole.click_role_determination()  # 点击确定
        time.sleep(0.5)
        assert "保存成功" in login_hjx.Ppagetypesrole.get_save_successfully(), "用例成功"



    @allure.severity(severity_level="normal")  # 严重级别
    @allure.story("TestCase02TypeEdit02_【基线用例】后台/系统管理/角色类型管理：编辑角色类型")# 用例标题
    @allure.testcase("暂无禅道用例", "【基线用例】后台/系统管理/角色类型管理：编辑角色类型")# 禅道链接
    # @pytest.mark.parametrize("login_hjx",[],indirect = True)
    def testCase02RoleEdit06(self, login_hjx):
        logging.info('开始执行测试用例====》')
        login_hjx.Ppagetypesrole.click_system_management()  # 点击系统管理
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_role_management()  # 点击角色类型管理
        time.sleep(2)
        login_hjx.pageProductList.click_switch_to()  # 切换iframe
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_role_operate(operation_role="编辑")    # 编辑角色类型流程
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_role_edit1()  # 下拉选择倒数第一个角色类型
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_type_confirm()  # 点击确定
        time.sleep(0.5)
        assert "保存成功" in login_hjx.Ppagetypesrole.get_save_successfully(), "用例成功"

    @allure.severity(severity_level="normal")  # 严重级别
    @allure.story("TestCase02TypeEdit02_【基线用例】后台/系统管理/角色类型管理：编辑角色类型")# 用例标题
    @allure.testcase("暂无禅道用例", "【基线用例】后台/系统管理/角色类型管理：编辑角色类型")# 禅道链接
    # @pytest.mark.parametrize("login_hjx",[],indirect = True)
    def testCase02RoleForbidden07(self, login_hjx):
        logging.info('开始执行测试用例====》')
        login_hjx.Ppagetypesrole.click_system_management()  # 点击系统管理
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_role_management()  # 点击角色类型管理
        time.sleep(2)
        login_hjx.pageProductList.click_switch_to()  # 切换iframe
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_role_operate(operation_role="禁用")    # 编辑角色类型流程
        time.sleep(0.5)
        assert "保存成功" in login_hjx.Ppagetypesrole.get_save_successfully(), "用例成功"


    @allure.severity(severity_level="normal")  # 严重级别
    @allure.story("TestCase02TypeEdit02_【基线用例】后台/系统管理/角色类型管理：编辑角色类型")# 用例标题
    @allure.testcase("暂无禅道用例", "【基线用例】后台/系统管理/角色类型管理：编辑角色类型")# 禅道链接
    # @pytest.mark.parametrize("login_hjx",[],indirect = True)
    def testCase02RoleStart08(self, login_hjx):
        logging.info('开始执行测试用例====》')
        login_hjx.Ppagetypesrole.click_system_management()  # 点击系统管理
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_role_management()  # 点击角色类型管理
        time.sleep(2)
        login_hjx.pageProductList.click_switch_to()  # 切换iframe
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_role_operate(operation_role="启用")    # 编辑角色类型流程
        time.sleep(0.5)
        assert "保存成功" in login_hjx.Ppagetypesrole.get_save_successfully(), "用例成功"

    @allure.severity(severity_level="normal")  # 严重级别
    @allure.story("TestCase02TypeEdit02_【基线用例】后台/系统管理/角色类型管理：编辑角色类型")# 用例标题
    @allure.testcase("暂无禅道用例", "【基线用例】后台/系统管理/角色类型管理：编辑角色类型")# 禅道链接
    # @pytest.mark.parametrize("login_hjx",[],indirect = True)
    def testCase02RoleDelete09(self, login_hjx):
        logging.info('开始执行测试用例====》')
        login_hjx.Ppagetypesrole.click_system_management()  # 点击系统管理
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_role_management()  # 点击角色类型管理
        time.sleep(2)
        login_hjx.pageProductList.click_switch_to()  # 切换iframe
        time.sleep(2)
        login_hjx.Ppagetypesrole.click_role_operate(operation_role="删除")    # 编辑角色类型流程
        login_hjx.Ppagetypesrole.click_type_delete()  # 点击确定
        time.sleep(0.5)
        assert "保存成功" in login_hjx.Ppagetypesrole.get_save_successfully(), "用例成功"

